def outoforder(alist):
    import random
    newlist = []

    for i in range(len(alist)):
        temp = random.choice(alist)
        alist.remove(temp)
        newlist.append(temp)

    return newlist

# 函数调用
print(outoforder([1, 2, 3, 4, 5]))


# 实现的结果是对的，但是在实际的生产代码中，很少一边对列表进行循环，又一边对列表进行修改
# 列表简单的时候可能没什么问题，但是列表比较复杂的情况下，会出现意想不到的错误
# 可以尝试一下使用random模块的其他方法。

# 修改如下

import random

alist = [1, 2, 3, 4, 5]
random.shuffle(alist)
print(alist)

